In recent years, the demand for high resolution video in TVs, computers and other devices capable of providing video has been increasing, and this demand is now also being felt in the portable devices market. As comparatively high definition screens have become more common among modern portable multimedia devices such as tablets, PCs and smart phones, high resolution video quality has become a key competitive differentiating factor.
With improved video quality comes smoother video, improved colour, fewer artefacts from resizing, compression or other image processing, and various other benefits. These improve the user experience in ways that go beyond a mere increase in the visible detail.
The most advanced video processing algorithms, such as motion compensated frame rate conversion or 3D-video processing, require multiple reads/writes of each video frame data from/to the external system memory. For high-resolution video on a portable multimedia device, and particularly high quality high-resolution video, the total memory access load can easily become unacceptably high.
In order to reduce load on the memory system, lossless (or almost lossless) frame buffer compression is frequently used, such as wavelet multiresolution processing. However, this approach has several drawbacks.
Notably, the compression methods used in decoding and encoding schemes such as h.264 are often not optimised for wavelet multiresolution processing.
In contrast, compression methods which are suitable for use with multiresolution processing often require unacceptably high memory usage, as they use several read passes through the frame to be encoded, and hence require the whole frame to be stored in the memory. Multiple passes also incur a high latency, which is undesirable in real time applications. These methods are also ill suited for use with many video stream sensors, which capture data on the fly and store it in smaller buffers, such that the buffer may contain only a line or block of pixels. These methods also require a complex system and a lot of power to operate.
One method is to encode the components of wavelet multiresolution processing in groups by deriving group exponents and individual mantissas, such that an approximation of each component can be derived from the group exponent combined with that component's mantissa. However this provides poor video quality, and as such is not a desirable solution.